/*
 * @Description: 
 * @Author: Zhang_xx
 * @Date: 2025-04-22 17:18:29
 * @LastEditors: Zhang_xx
 * @LastEditTime: 2025-04-22 17:24:10
 */
// 生成并下载JS文件的函数
 export function saveAsJsFile() {
  // 生成一个唯一ID，或者使用你自己的ID生成逻辑
  const formId = Math.floor(1000 + Math.random() * 9000)

  // 构建表单数据对象
  const formData = {
    // eslint-disable-next-line no-undef
    name: '测试',
    desc: '', // 可以添加表单描述
    commonOptions: [],
    children: []
  }

  // 将elements转换为适当的格式
  // eslint-disable-next-line no-undef
  elements.value.forEach((element, index) => {
    if (element.type === 'radio') {
      // 转换单选题
      const questionData = {
        id: index + 1,
        sn: `${index + 1}、`,
        title: element.content.question,
        direction: 'vertical',
        level: 1,
        type: 'Radio',
        tip: '',
        code: index + 1,
        options: element.content.options.map((option, optIndex) => ({
          value: optIndex + 1,
          label: option,
          score: 10 - optIndex * 5 // 简单的分数计算逻辑，你可以根据需要修改
        })),
        fields: [
          {
            value: 'value',
            label: '选项'
          }
        ],
        requiredFields: ['value']
      }
      formData.children.push(questionData)
    } else if (element.type === 'checkbox') {
      // 转换多选题
      const questionData = {
        id: index + 1,
        sn: `${index + 1}、`,
        title: element.content.question,
        direction: 'vertical',
        level: 1,
        type: 'Checkbox',
        tip: '',
        code: index + 1,
        options: element.content.options.map((option, optIndex) => ({
          value: optIndex + 1,
          label: option,
          score: 5 - optIndex // 简单的分数计算逻辑
        })),
        fields: [
          {
            value: 'value',
            label: '选项'
          }
        ],
        requiredFields: ['value']
      }
      formData.children.push(questionData)
    }
    // 可以根据需要添加其他类型的转换
  })

  // 生成JavaScript文件内容
  const fileContent = `export const id = ${formId};
const data = ${JSON.stringify(formData, null, 2)};

export default data;`

  // 创建Blob对象
  const blob = new Blob([fileContent], { type: 'application/javascript' })

  // 创建下载链接
  const url = URL.createObjectURL(blob)
  const link = document.createElement('a')
  link.href = url
  link.download = `form_${formId}.js`

  // 触发下载
  document.body.appendChild(link)
  link.click()

  // 清理
  URL.revokeObjectURL(url)
  document.body.removeChild(link)

  console.log('表单已保存为JS文件')
}
